/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upc.clase.demo.entity;

import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.NumberFormat;
import org.springframework.format.annotation.NumberFormat.Style;
import org.springframework.web.multipart.MultipartFile;

/**
 * /**
 *
 * @author rpalacios
 */
@XmlRootElement
public class Entrada implements Serializable {

    private Usuario usuario;
    private int identrada;
    private Tipoentrada tipoentrada;
    private int larespuesta;
    private Entrada parent;
    
    
    @Min(0)
    @NumberFormat(style = Style.NUMBER)
    private int visitas;
    
    @NotEmpty(message = "Debe ingresar un titulo para su pregunta")
    @Size(min = 4, max = 100, message = "El titulo debe tener entre 4 y 100 caracteres.")
    private String titulo;
    
    @Size(min=20)
    private String descripcion;
    private Categoria categoria;// = new Categoria();

    public Entrada() {
    }

    public Entrada(Usuario usuario, Tipoentrada tipoentrada, String titulo, String descripcion) {
        this.usuario = usuario;
        this.tipoentrada = tipoentrada;
        this.titulo = titulo;
        this.descripcion = descripcion;
    }

    public Entrada(Usuario usuario, Tipoentrada tipoentrada, String titulo, String descripcion, Categoria categoria) {
        this.usuario = usuario;
        this.tipoentrada = tipoentrada;
        this.titulo = titulo;
        this.descripcion = descripcion;
        this.categoria = categoria;
    }

    public Entrada(Usuario usuario, Tipoentrada tipoentrada, int larespuesta, Entrada parent, int visitas, String titulo, String descripcion, Categoria categoria) {
        this.usuario = usuario;
        this.tipoentrada = tipoentrada;
        this.larespuesta = larespuesta;
        this.parent = parent;
        this.visitas = visitas;
        this.titulo = titulo;
        this.descripcion = descripcion;
        this.categoria = categoria;
    }

    public int getIdentrada() {
        return identrada;
    }

    public void setIdentrada(int identrada) {
        this.identrada = identrada;
    }

    public Tipoentrada getTipoentrada() {
        return tipoentrada;
    }

    public void setTipoentrada(Tipoentrada tipoentrada) {
        this.tipoentrada = tipoentrada;
    }

    public int getLarespuesta() {
        return larespuesta;
    }

    public void setLarespuesta(int larespuesta) {
        this.larespuesta = larespuesta;
    }

    public Entrada getParent() {
        return parent;
    }

    public void setParent(Entrada parent) {
        this.parent = parent;
    }

    public int getVisitas() {
        return visitas;
    }

    public void setVisitas(int visitas) {
        this.visitas = visitas;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }    
    
    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }    
}